#!/bin/bash

# AtomGit Issue Feedback 插件演示启动脚本

echo "🚀 启动 AtomGit Issue Feedback 插件演示..."
echo ""

# 检查 Node.js 版本
echo "📋 检查环境..."
node_version=$(node -v 2>/dev/null)
if [ $? -eq 0 ]; then
    echo "✅ Node.js 版本: $node_version"
    # 检查 Node.js 版本是否兼容（推荐 14-17）
    node_major=$(echo $node_version | sed 's/v\([0-9]*\)\..*/\1/')
    if [ "$node_major" -gt 17 ]; then
        echo "⚠️  警告: Node.js v$node_major 可能与 GitBook CLI 不兼容"
        echo "   建议使用 Node.js 14-17 版本"
        echo "   如果遇到 graceful-fs 错误，请使用 nvm 切换版本："
        echo "   nvm install 16 && nvm use 16"
        echo ""
        read -p "是否继续？(y/n) " -n 1 -r
        echo
        if [[ ! $REPLY =~ ^[Yy]$ ]]; then
            exit 1
        fi
    fi
else
    echo "❌ 未找到 Node.js，请先安装 Node.js"
    exit 1
fi

# 检查 npm
npm_version=$(npm -v 2>/dev/null)
if [ $? -eq 0 ]; then
    echo "✅ npm 版本: $npm_version"
else
    echo "❌ 未找到 npm"
    exit 1
fi

# 检查 GitBook CLI
gitbook_version=$(gitbook -V 2>/dev/null)
if [ $? -eq 0 ]; then
    echo "✅ GitBook CLI 版本: $gitbook_version"
else
    echo "⚠️  未找到 GitBook CLI，正在安装..."
    npm install -g gitbook-cli
fi

echo ""

# 安装依赖
echo "📦 安装依赖..."
npm install

if [ $? -eq 0 ]; then
    echo "✅ 依赖安装成功"
else
    echo "❌ 依赖安装失败"
    exit 1
fi

echo ""

# 构建插件
echo "🔨 构建插件..."
cd ..
npm run build
cd example

if [ $? -eq 0 ]; then
    echo "✅ 插件构建成功"
else
    echo "❌ 插件构建失败"
    exit 1
fi

echo ""

# 检查插件是否已安装
if [ ! -d "node_modules/gitbook-plugin-atomgit-issue-feedback" ]; then
    echo "📦 安装插件依赖..."
    npm install
    if [ ! -d "node_modules/gitbook-plugin-atomgit-issue-feedback" ]; then
        echo "❌ 插件安装失败"
        exit 1
    fi
fi
echo "✅ 插件已就绪（使用本地开发版本）"

echo ""

# 启动 GitBook 服务器
echo "🌐 启动 GitBook 服务器..."
echo "📍 服务器地址: http://localhost:4000"
echo "📍 按 Ctrl+C 停止服务器"
echo ""

gitbook serve --port 4000
